<%--
  Created by IntelliJ IDEA.
  User: User
  Date: 2024/9/3
  Time: 13:32
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        //模拟存储数据
        pageContext.setAttribute("msg","Hello pageContext");
        request.setAttribute("msg","Hello request");
        session.setAttribute("msg","Hello session");
        application.setAttribute("msg","Hello application");
    %>
    <h1>当前页面</h1>
    pageContext:<%=pageContext.getAttribute("msg")%><br>
    request:<%=request.getAttribute("msg")%><br>
    session:<%=session.getAttribute("msg")%><br>
    application:<%=application.getAttribute("msg")%>
    <br>
    <%
        //转发到另一个页面
        // 转发之后不是同一个页面，但是共享了请求，因此pageContext丢失，其他作用域数据没有丢失
        // request.getRequestDispatcher("/jsp/scope2.jsp").forward(request,response);


        //重定向到另一个页面，重定向之后不是同一个请求，request会丢失
        // 此时session与application数据仍然存在
        // 当会话结束后，session数据丢失
        // application的数据只要服务器不重启，数据一直存在
        // 但是当服务器重启后访问重定向之后的页面时，数据会丢失
        response.sendRedirect(request.getContextPath()+"/jsp/scope2.jsp");
    %>

</body>
</html>
